_MMPFN

//0x30 bytes (sizeof) struct _MMPFN { union { struct _LIST_ENTRY ListEntry; //0x0 struct _RTL_BALANCED_NODE TreeNode; //0x0 struct { union { struct _SINGLE_LIST_ENTRY NextSlistPfn; //0x0 VOID* Next; //0x0 ULONGLONG Flink:36; //0x0 ULONGLONG NodeFlinkHigh:28; //0x0 struct _MI_ACTIVE_PFN Active; //0x0 } u1; //0x0 union { struct _MMPTE* PteAddress; //0x8 ULONGLONG PteLong; //0x8 }; struct _MMPTE OriginalPte; //0x10 }; }; struct _MIPFNBLINK u2; //0x18 union { struct { USHORT ReferenceCount; //0x20 struct _MMPFNENTRY1 e1; //0x22 }; struct { struct _MMPFNENTRY3 e3; //0x23 struct { USHORT ReferenceCount; //0x20 } e2; //0x20 }; struct { ULONG EntireField; //0x20 } e4; //0x20 } u3; //0x20 USHORT NodeBlinkLow; //0x24 UCHAR Unused:4; //0x26 UCHAR Unused2:4; //0x26 union { UCHAR ViewCount; //0x27 UCHAR NodeFlinkLow; //0x27 UCHAR ModifiedListBucketIndex:4; //0x27 }; union { ULONGLONG PteFrame:36; //0x28 ULONGLONG LargePageSize:2; //0x28 ULONGLONG Unused1:1; //0x28 ULONGLONG Unused2:1; //0x28 ULONGLONG Partition:10; //0x28 ULONGLONG FileOnly:1; //0x28 ULONGLONG PfnExists:1; //0x28 ULONGLONG Spare:8; //0x28 ULONGLONG PageIdentity:3; //0x28 ULONGLONG PrototypePte:1; //0x28 ULONGLONG EntireField; //0x28 } u4; //0x28 };